This relates to integrated circuits such as programmable integrated circuits.
Programmable integrated circuits are well known. Programmable integrated circuits can be programmed by a user to implement a desired custom logic function. In a typical scenario, a logic designer uses computer-aided design (CAD) tools to design a custom logic circuit. When the design process is complete, the tools generate configuration data. The configuration data is loaded into programmable elements of the integrated circuit to configure the device to perform the functions of the custom logic circuit. In particular, the configuration data configures programmable interconnects, programmable routing circuits, and programmable logic circuits in the programmable integrated circuits.
Programmable integrated circuits include programmable logic circuits that are configured to receive input signals and perform custom logic functions on the received input signals to produce output signals. Each programmable logic circuit has a predetermined number of inputs and a predetermined number of outputs. Input and output signals for each logic circuit are routed by interconnects throughout the programmable integrated circuit. The programmable logic circuits typically include look-up tables that receive the input signals and produce the output signals based on configuration data that is provided to the look-up tables.
A programmable integrated circuit is configured to perform a given custom logic function by mapping the logic function onto one or more programmable logic circuits so that the programmable logic circuits collectively perform the custom logic function. It may be difficult to efficiently utilize resources such as programmable logic circuits when configuring a programmable integrated circuit to perform the custom logic function. For example, a custom logic function for producing a single output signal using two input signals may be mapped onto a programmable logic circuit that has four inputs and one output. In this scenario, only two of the four inputs may be used to perform the custom logic function, thereby resulting in inefficient use of circuitry in the programmable logic circuit that is associated with the two unused inputs.